package com.lpf.command;

// 客户端代码
public class CommandPatternDemo {
    public static void main(String[] args) {
        // 创建接收者
        Light light = new Light();

        // 创建命令
        Command lightOn = new LightOnCommand(light);
        Command lightOff = new LightOffCommand(light);

        // 创建调用者
        RemoteControl remote = new RemoteControl();

        // 绑定并执行命令
        remote.setCommand(lightOn);
        remote.pressButton(); // 打开灯

        remote.setCommand(lightOff);
        remote.pressButton(); // 关闭灯

        // 撤销上一步操作
        remote.pressUndo();   // 恢复灯的状态
    }
}